#pragma once

#include <QtWidgets/QMainWindow>
#include "CharacterModel.h"
#include "CharacterVM.h"

class QShortcut;
class QTableView;

namespace Ui {
class MainWindow;
}

class MainWindow :
	public QMainWindow
{
	Q_OBJECT

#pragma region Constructor

public:
	explicit MainWindow(QWidget * parent = 0);
	~MainWindow(void);

#pragma endregion

#pragma region Slots

public slots:
	void OnNew();
	void OnSave();
	void OnSaveAs();
	void OnLoad();
	void OnSetImage();
	void OnAbout();
	void HPChanged(int value);
	void SDCChanged(int value);
	void setSpecial();
	void setSaveBonus();
	void setNotes();
	void setWindowName(QString value);
	void tableDelete(QTableView * table);
	void equipmentDelete();
	void primSkillDelete();
	void secSkillDelete();
	void wpDelete();
	void eaDelete();

#pragma endregion

#pragma region Fields and Properties

private:
	Ui::MainWindow *ui;
	CharacterVM _vm;
	QString _fileName;

	QShortcut * _equipmentDelete;
	QShortcut * _primSkillDelete;
	QShortcut * _secSkillDelete;
	QShortcut * _wpDelete;
	QShortcut * _eaDelete;

#pragma endregion

};

